﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using DAL;
using Entities;

namespace BLL
{
    public class InstituicaoBusiness
    {

        public Instituicao Recuperar(int id)
        {
            Instituicao instituicao = null;
            try
            {
                using (var context = new clickdoacoesEntities())
                {
                    Factory<Instituicao> rep = new Factory<Instituicao>(context);
                    instituicao = rep.Single(u => u.id == id);
                }
            }
            catch
            {
                throw new Exception("Erro ao recuperar instituição");
            }
            return instituicao;
        }

        public List<Instituicao> RecuperarTodas()
        {
            List<Instituicao> instituicoes = null;
            try
            {
                using (var context = new clickdoacoesEntities())
                {
                    Factory<Instituicao> rep = new Factory<Instituicao>(context);
                    instituicoes = rep.GetAll().ToList();
                }
            }
            catch
            {
                throw new Exception("Erro ao recuperar instituição");
            }
            return instituicoes;
        }

        public void CriarInstituicao(Instituicao instituicao)
        {
            try
            {
                using (var context = new clickdoacoesEntities())
                {
                    Factory<Instituicao> rep = new Factory<Instituicao>(context);
                    rep.Add(instituicao);
                    rep.Commit();
                }
            }
            catch
            {
                throw new Exception("Erro. Instituicao ja cadastrada.");
            }
        }
    }
}
